package cn.clementine.core.vo;

import lombok.AllArgsConstructor;
import lombok.Data;

import java.lang.management.LockInfo;
import java.lang.management.MonitorInfo;
import java.util.List;

@Data
@AllArgsConstructor
public class ThreadInfoView {
    private String threadName; // 线程名称
    private long threadId; // 线程ID
    private long blockedTime; // 阻塞时间
    private long blockedCount; // 阻塞次数
    private long waitedTime; // 等待时间
    private long waitedCount; // 等待次数
    private String lockName; // 锁名称
    private long lockOwnerId; // 锁拥有者ID
    private String lockOwnerName; // 锁拥有者名称
    private boolean daemon; // 是否为守护线程
    private boolean inNative; // 是否为本地方法
    private boolean suspended; // 是否被挂起
    private Thread.State threadState; // 线程状态
    private int priority; // 优先级
    private MonitorInfo[] lockedMonitors; // 锁定的监视器
    private LockInfo[] lockedSynchronizers; // 锁定的同步器
    private Object lockInfo; // 锁信息
}
